layui.define('common', function(exports){
	// 获取 common 模块
	var common = layui.common;
		
	var login_api = {
		/**
		 * 初始化
		 */
		initialize: function(){
			// 设置页面url
			common.set_url([
				// 登录地址
				{tag_id:'url-id', id_value:'login-form', key:'action', value:'Public/login'}
			]);
			
			// 获取验证码
			login_api.get_verify();
		},
		
		/**
		 * 检测登录状态
		 */
		check_login: function(){
			var auth = false;
			common.ajax({
				async: false,	// 关闭异步，同步请求
				url: CONFIG.URL_MAP.LOGIN_CHECK,
			}, {
				// 请求成功回调
				success: function(result){
					if(parseInt(result.status) == 1){
						auth = result.result;
					}
				},
			});
			
			return auth;
		},
		
		/**
		 * 获取验证码
		 */
		get_verify: function(){
			// 设置页面url
			common.set_url([
				// 验证码地址
				{tag_id:'url-id', id_value:'login-verify', key:['src', 'url'], value:'Public/verify', ext:'html', params:{
					// 随机参数
					math: Math.random(),
				}}
			]);
		},
		
		/**
		 * 客户端校验
		 */
		login_check: function(){
			if ($("#loginname").val() == "") {

				$("#loginname").tips({
					side : 2,
					msg : '管理员账号不能为空',
					bg : '#AE81FF',
					time : 3
				});
		
				$("#loginname").focus();
				return false;
			} else {
				$("#loginname").val(jQuery.trim($('#loginname').val()));
			}
		
			if ($("#password").val() == "") {
		
				$("#password").tips({
					side : 2,
					msg : '密码不能为空',
					bg : '#AE81FF',
					time : 3
				});
		
				$("#password").focus();
				return false;
			}
			if ($("#code").val() == "") {
		
				$("#code").tips({
					side : 1,
					msg : '验证码不能为空',
					bg : '#AE81FF',
					time : 3
				});
		
				$("#code").focus();
				return false;
			}
		
			login_api.login_status(false);
			return true;
		},
		
		/**
		 * 提交登录
		 */
		submit_login: function(){
			var url 		= $("#loginForm").attr('action');
			var loginname 	= $("#loginname").val();
			var password 	= $("#password").val();
			var code		= $("#code").val();
			
			common.ajax({
				url: CONFIG.URL_MAP.LOGIN,
				data: {
		    		loginname:loginname,
		    		password:password,
		    		code:code
		    	},
		    	cache: false,
                //async: false,
			},{
				success: function(result){
					if( !result ){
						$("#loginbox").tips({
							side : 1,
							msg : '服务器内部发生错误，请稍后重试！',
							bg : 'red',
							time : 5
						});
						
						return false;
					}
					
					if( parseInt(result.status) != 1 ){
						switch( result.flag ){
							case 'tips':
								layer.msg(result.msg);
							break;
							case 'loginname':
								$("#loginname").tips({
									side : 1,
									msg : result.msg,
									bg : '#FF5080',
									time : 3
								});
								$("#loginname").focus();
								break;
							case 'password':
								$("#password").tips({
									side : 1,
									msg : result.msg,
									bg : '#FF5080',
									time : 3
								});
								$("#password").focus();
								break;
							case 'code':
								$("#code").tips({
									side : 1,
									msg : result.msg,
									bg : '#FF5080',
									time : 3
								});
								$("#code").focus();
								break;
						}
					}else{
						// 保存cookie信息
						login_api.save_cookie();
						console.log(result);
						//window.location.reload();
					}
					
					login_api.login_status(true);
					
				},
				error:function(){
					$("#loginbox").tips({
						side : 1,
						msg : '服务器内部发生错误，请稍后重试！',
						bg : 'red',
						time : 5
					});
					
					login_api.login_status(true);
					
					return false;
				}
			});
		},
		
		/**
		 * 保存登录信息
		 */
		save_cookie: function(){
			if ($("#saveid").attr("checked")) {
				$.cookie('loginname', $("#loginname").val(), {
					expires : 7
				});
				$.cookie('password', $("#password").val(), {
					expires : 7
				});
			}else{
				$.cookie('loginname', '', {
					expires : -1
				});
				$.cookie('password', '', {
					expires : -1
				});
				$("#loginname").val('');
				$("#password").val('');
			}
		},
		
		/**
		 * 登录状态
		 * @param boolean status		状态
		 */
		login_status: function(status){
			if( status == true ){
				$("#to-recover").removeClass('login-in');
				$("#to-recover").text("立即登录");
				$("#to-recover").attr('event-name',"login");
			}else{
				$("#to-recover").addClass('login-in');
				$("#to-recover").text("正在登录 , 请稍后 ...");
				$("#to-recover").removeAttr('event-name');
			}
		}
		// 成员函数...
	};
	
	// 输出
	exports('login', login_api);
});
